feat: stdlib::Proof#15410
Conversation
| // its a proof that will be checked anyway. | ||
| final_ipa_proof = convert_stdlib_proof_to_native(nested_ipa_proofs[0]); | ||
| final_ipa_proof = nested_ipa_proofs[0].get_value(); | ||
| } else if (nested_ipa_claims.size() == 0) { |
There was a problem hiding this comment.
Minor comment: my editor complains that we don't use nested_ipa_claims.empty()
| using Flavor = avm2::AvmRecursiveFlavor_<Builder>; | ||
| using RecursiveVerificationKey = Flavor::VerificationKey; | ||
| using RecursiveVerifier = avm2::AvmRecursiveVerifier_<Flavor>; | ||
| using field_ct = stdlib::field_t<Builder>; |
There was a problem hiding this comment.
Any reason why we need to define the alias here even though it's already defined at line 28?
There was a problem hiding this comment.
Its bad practice to define type aliases at the level of the namespace, which this file does. I've gotten rid of this for now since its a larger issue that can be handled at some other time
| using PCS = typename Flavor::PCS; | ||
| using Transcript = bb::BaseTranscript<bb::stdlib::recursion::honk::StdlibTranscriptParams<Builder>>; | ||
| using VerifierCommitments = typename Flavor::VerifierCommitments; | ||
| using StdlibIPAProof = bb::stdlib::Proof<Builder>; |
There was a problem hiding this comment.
We use this alias only in the hpp file, in the cpp we use the explicit type declaration. Do we want to get rid of the alias?
There was a problem hiding this comment.
thx, updated both files to just use StdlibProof
| PairingAccumulator points_accumulator; | ||
| OpeningClaim<Curve> opening_claim; | ||
| StdlibProof<Builder> ipa_proof; | ||
| stdlib::Proof<Builder> ipa_proof; |
There was a problem hiding this comment.
In contrast to eccvm_recursive_verifier here we have no alias
There was a problem hiding this comment.
I generally dont define an alias if there is only a single usage unless it significantly improves readability
federicobarbacovi
left a comment
There was a problem hiding this comment.
Looks good to me! Only a few minor comments. Great change, it makes the code more standardised.
This reverts commit 64fd713.
See [merge-train-readme.md](https://github.com/AztecProtocol/aztec-packages/blob/next/.github/workflows/merge-train-readme.md). chore: update merge-train documentation feat!: (sequence of) Apps share a transcript until a kernel is encountered (#15313) chore: bigfield todo fixes (#15202) chore: remove insecure logic from ipa recursion (#14102) chore: bigfield audit fixes that change circuits (#15205) feat: stdlib::Proof (#15410) fix: build bb for bench_ivc script (#15429) chore: revert "feat: stdlib::Proof (#15410)" (#15431) chore: unrevert stdlib proof (#15443) chore: package vk hash with vk (#15318) chore: fix avm build (#15448) chore: skip building wasm for bench_ivc when NO_WASM=1 (#15462) chore: add a link to audit PR template in default PR template (#15463) --------- Co-authored-by: AztecBot <tech@aztecprotocol.com> Co-authored-by: ludamad <adam.domurad@gmail.com> Co-authored-by: federicobarbacovi <171914500+federicobarbacovi@users.noreply.github.com> Co-authored-by: Suyash Bagad <suyash@aztecprotocol.com> Co-authored-by: sergei iakovenko <105737703+iakovenkos@users.noreply.github.com> Co-authored-by: ledwards2225 <98505400+ledwards2225@users.noreply.github.com> Co-authored-by: Jonathan Hao <jonathan@aztec-labs.com> Co-authored-by: Lucas Xia <lucasxia01@gmail.com>
See [merge-train-readme.md](https://github.com/AztecProtocol/aztec-packages/blob/next/.github/workflows/merge-train-readme.md). chore: update merge-train documentation feat!: (sequence of) Apps share a transcript until a kernel is encountered (AztecProtocol#15313) chore: bigfield todo fixes (AztecProtocol#15202) chore: remove insecure logic from ipa recursion (AztecProtocol#14102) chore: bigfield audit fixes that change circuits (AztecProtocol#15205) feat: stdlib::Proof (AztecProtocol#15410) fix: build bb for bench_ivc script (AztecProtocol#15429) chore: revert "feat: stdlib::Proof (AztecProtocol#15410)" (AztecProtocol#15431) chore: unrevert stdlib proof (AztecProtocol#15443) chore: package vk hash with vk (AztecProtocol#15318) chore: fix avm build (AztecProtocol#15448) chore: skip building wasm for bench_ivc when NO_WASM=1 (AztecProtocol#15462) chore: add a link to audit PR template in default PR template (AztecProtocol#15463) --------- Co-authored-by: AztecBot <tech@aztecprotocol.com> Co-authored-by: ludamad <adam.domurad@gmail.com> Co-authored-by: federicobarbacovi <171914500+federicobarbacovi@users.noreply.github.com> Co-authored-by: Suyash Bagad <suyash@aztecprotocol.com> Co-authored-by: sergei iakovenko <105737703+iakovenkos@users.noreply.github.com> Co-authored-by: ledwards2225 <98505400+ledwards2225@users.noreply.github.com> Co-authored-by: Jonathan Hao <jonathan@aztec-labs.com> Co-authored-by: Lucas Xia <lucasxia01@gmail.com>
Introduce a simple
stdlib::Proofclass to replaceStdlibProof(which was just an alias forstd::vector<bb::stdlib::field_t<Builder>>;). This is more idiomatic and improves the related syntax, e.g.convert_native_proof_to_stdlib(&circuit, proof);is replaced by a constructor andconvert_stdlib_proof_to_nativeis replaced byget_value()(as is the convention for stdlib objects).